Database related software environments as well as hardware environments are known in the art. A large scale software environment often includes a plurality of software applications, for managing a plurality of storage devices, such as disk drives and memory devices, which include storage units, such as files.
One popular database related software environment is the Oracle software package, manufactured and sold by the Oracle Corporation. The Oracle software is generally directed to managing resources, both in software sessions and in the processed data. This is a large scale software product which is capable of processing and managing large amounts of data, for a plurality of users.
Conventionally, database related software environments provide a high level interface language, for use by an end-user or a developer, in the form of statements which are associated with the systems database. These statements control input and output flow, as well as execution of database objects, which are associated with the software environment.
It will be appreciated by those skilled in the art, that the tuning of such software environment is required to optimize their performance, especially, for large scale systems.
Methods for tuning such software applications are known in the art. One such tuning method is implemented in the Oracle Trace software product, manufactured and sold by the Oracle Corporation. According to this method, the length of a queue of statements which access a selected database object, is measured. This length is directly proportional to the load which is currently applied on the selected objet.
Storage device managing systems, are known in the art, for managing storage hardware environment, which includes a plurality of storage devices. Such systems attempt to optimize the performance of a storage hardware environment by detecting the amount of I/O activity through each storage device, which is directly proportional to the load applied thereon.
Reference is now made to FIG. 1, which is a schematic illustration of a method for tuning a software application, known in the art.
In step 102, the processing activities within the system are sampled. The sampled processing activities include software procedures as well as operating system sessions. The results of this step are then provided to a user in a visual format (step 106).
In step 104, the access activities within the system are sampled. The sampled access activities include data object access requests. The results of this step are then provided to a user in a visual format (step 108).
In step 110, the user which operates according to the method of the prior art, decides upon the action which is to be taken. Such an action can include a changing or updating the configuration of the system (step 112), duplicating an item which is heavily accessed (step 114), moving an item from a loaded sub-environment (step 116), such as a processor or a storage device and adding a storage device (step 118).
Reference is now made to FIG. 2, which is a schematic illustration of a method for tuning a storage hardware system, known in the art.
In step 202, the hardware storage activities are sampled. These hardware storage activities include storage hardware device access requests, as well as storage data distribution over and between the plurality of storage devices.
In step 204, the performance characteristics of each of the storage devices are detected. Conventionally, this step is performed by processing the information gathered in the previous step.
In step 206, the detected performance characteristics are displayed to a user.
In step 208, the data distribution is rearranged according to the decision of the user.
None of the above methods provide a complete and optimized solution to the problem presented by such complex systems.